home *** CD-ROM | disk | FTP | other *** search
Wrap
!!Script // Copyright ⌐ 2001 - Hendrik Witt [2001-10-20.17-42-47;hwitt@tzi.de] // @Creaded build 090 [2001-10-20.17-42-52;hwitt@tzi.de] /** @Tool: CVS Source Control~defines the Source Control toolbar for CVS systems. This toolbar uses the sourceControl property set in the project to determine which source control database is used. @EndTool: @Summary: CVS Source Control~defines the CVS Source Control toolbar */ var gOutput = getOutput(); function OnNotify(event, cookie) { var toolbar = getGlobal("CVSToolbar"); if (event == "project.changed") { if (toolbar) { var activate = false; var configure = false; var project = getCurrentProject(); if (project) { activate = project.sourceControl.length > 0; if (activate) { var currentPath = getGlobal("CVSToolbar.ScriptPath"); var newPath = "Source Control\\" + project.sourceControl + "\\"; if (currentPath != newPath) { setGlobal("CVSToolbar.ScriptPath", newPath); UpdateToolBar(toolbar, newPath); } var configurePath = File.getToolsPath() + "\\" + newPath + "configure.dscript"; configure = pathExists(configurePath); } } toolbar.enableButton(getGlobal("CVSToolbar.LogonID"), activate); toolbar.enableButton(getGlobal("CVSToolbar.CheckoutID"), activate); toolbar.enableButton(getGlobal("CVSToolbar.EditID"), activate); toolbar.enableButton(getGlobal("CVSToolbar.UneditID"), activate); toolbar.enableButton(getGlobal("CVSToolbar.UpdateID"), activate); toolbar.enableButton(getGlobal("CVSToolbar.StatusID"), activate); toolbar.enableButton(getGlobal("CVSToolbar.CommitID"), activate); toolbar.enableButton(getGlobal("CVSToolbar.LogID"), activate); toolbar.enableButton(getGlobal("CVSToolbar.DiffID"), activate); toolbar.enableButton(getGlobal("CVSToolbar.AddID"), activate); toolbar.enableButton(getGlobal("CVSToolbar.ImportID"), activate); toolbar.enableButton(getGlobal("CVSToolbar.CustomID"), activate); } } else if (cookie == toolbar && event == "toolbar.show") { var project = getCurrentProject(); if (project && project.sourceControl.length == 0) { alert("To activate the source control toolbar choose a\nsource control database using the Project menu's Add Package\nor Edit Package commands"); } else if (project == null) { alert("To activate the source control toolbar create or\nopen a project and choose a source control database\nusing the Add Package or Edit Package commands"); } } } function DoCommand() { var toolbar = newToolBar("CVS Source Control", "docked"); setGlobal("CVSToolbar", toolbar); Application.registerNotify(getScriptPath(), "project.changed"); // call OnNotify when a project is changed Application.registerNotify(getScriptPath(), "toolbar.show"); // call OnNotify when toolbar.show is called var ssPath = "Source Control\\CVS Advanced\\"; // initial source control setGlobal("CVSToolbar.ScriptPath", ssPath); //Logon button var buttonLogon = newToolBarButton("icon"); buttonLogon.scriptPath = ssPath + "logon.script"; buttonLogon.imagePath = "Toolbars\\Images\\CVS\\logon.bmp"; buttonLogon.description = "Logon to the CVS source control system"; buttonLogon.toolTipText = "Logon"; var LogonID = toolbar.setButton(0, buttonLogon); //checkout button var buttonCheckout = newToolBarButton("icon"); buttonCheckout.scriptPath = ssPath + "checkout.script"; buttonCheckout.imagePath = "Toolbars\\Images\\CVS\\checkout.bmp"; buttonCheckout.description = "Checkout a file/project from the CVS source control system"; buttonCheckout.toolTipText = "Checkout"; var CheckoutID = toolbar.setButton(1, buttonCheckout); //edit button var buttonEdit = newToolBarButton("icon"); buttonEdit.scriptPath = ssPath + "edit.script"; buttonEdit.imagePath = "Toolbars\\Images\\CVS\\edit.bmp"; buttonEdit.description = "Remove the read-only flag for editing the source"; buttonEdit.toolTipText = "Edit"; var EditID = toolbar.setButton(2, buttonEdit); //unedit button var buttonUnedit = newToolBarButton("icon"); buttonUnedit.scriptPath = ssPath + "unedit.script"; buttonUnedit.imagePath = "Toolbars\\Images\\CVS\\unedit.bmp"; buttonUnedit.description = "Unedit the current changes and track back to old version"; buttonUnedit.toolTipText = "Unedit"; var UneditID = toolbar.setButton(3, buttonUnedit); //update buttom var buttonUpdate = newToolBarButton("icon"); buttonUpdate.scriptPath = ssPath + "update.script"; buttonUpdate.imagePath = "Toolbars\\Images\\CVS\\update.bmp"; buttonUpdate.description = "Updates the current version to get the newest from server"; buttonUpdate.toolTipText = "Update"; var UpdateID = toolbar.setButton(4, buttonUpdate); //status button var buttonStatus = newToolBarButton("icon"); buttonStatus.scriptPath = ssPath + "status.script"; buttonStatus.imagePath = "Toolbars\\Images\\CVS\\status.bmp"; buttonStatus.description = "Get the status of the CVS source control system"; buttonStatus.toolTipText = "Status"; var StatusID = toolbar.setButton(5, buttonStatus); //log button var buttonLog = newToolBarButton("icon"); buttonLog.scriptPath = ssPath + "log.script"; buttonLog.imagePath = "Toolbars\\Images\\CVS\\log.bmp"; buttonLog.description = "Displays the logging information"; buttonLog.toolTipText = "Log"; var LogID = toolbar.setButton(6, buttonLog); //diff button var buttonDiff = newToolBarButton("icon"); buttonDiff.scriptPath = ssPath + "diff.script"; buttonDiff.imagePath = "Toolbars\\Images\\CVS\\diff.bmp"; buttonDiff.description = "Displays the difference betwenn to versions"; buttonDiff.toolTipText = "Diff"; var DiffID = toolbar.setButton(7, buttonDiff); //commit button var buttonCommit = newToolBarButton("icon"); buttonCommit.scriptPath = ssPath + "commit.script"; buttonCommit.imagePath = "Toolbars\\Images\\CVS\\commit.bmp"; buttonCommit.description = "Creates a new version on the CVS server (new release)"; buttonCommit.toolTipText = "Commit"; var CommitID = toolbar.setButton(8, buttonCommit); //add button var buttonAdd = newToolBarButton("icon"); buttonAdd.scriptPath = ssPath + "add.script"; buttonAdd.imagePath = "Toolbars\\Images\\CVS\\add.bmp"; buttonAdd.description = "Add a new file to the CVS repository"; buttonAdd.toolTipText = "Add"; var AddID = toolbar.setButton(9, buttonAdd); //import button var buttonImport = newToolBarButton("icon"); buttonImport.scriptPath = ssPath + "import.script"; buttonImport.imagePath = "Toolbars\\Images\\CVS\\module.bmp"; buttonImport.description = "Import a new project/module to the CVS repository"; buttonImport.toolTipText = "Import"; var ImportID = toolbar.setButton(10, buttonImport); //custom command button var buttonCustom = newToolBarButton("icon"); buttonCustom.scriptPath = ssPath + "customCommand.script"; buttonCustom.imagePath = "Toolbars\\Images\\CVS\\exe.bmp"; buttonCustom.description = "Executes a custom CVS command"; buttonCustom.toolTipText = "Custom Command"; var CustomID = toolbar.setButton(11, buttonCustom); setGlobal("CVSToolbar.LogonID", LogonID); setGlobal("CVSToolbar.CheckoutID", CheckoutID); setGlobal("CVSToolbar.EditID", EditID); setGlobal("CVSToolbar.UneditID", UneditID); setGlobal("CVSToolbar.UpdateID",UpdateID); setGlobal("CVSToolbar.StatusID", StatusID); setGlobal("CVSToolbar.CommitID", CommitID); setGlobal("CVSToolbar.LogID", LogID); setGlobal("CVSToolbar.DiffID", DiffID); setGlobal("CVSToolbar.AddID", AddID); setGlobal("CVSToolbar.ImportID", ImportID); setGlobal("CVSToolbar.CustomID", CustomID); toolbar.enableButton(getGlobal("CVSToolbar.LogonID"), false); toolbar.enableButton(getGlobal("CVSToolbar.CheckoutID"), false); toolbar.enableButton(getGlobal("CVSToolbar.EditID"), false); toolbar.enableButton(getGlobal("CVSToolbar.UneditID"), false); toolbar.enableButton(getGlobal("CVSToolbar.UpdateID"), false); toolbar.enableButton(getGlobal("CVSToolbar.StatusID"), false); toolbar.enableButton(getGlobal("CVSToolbar.CommitID"), false); toolbar.enableButton(getGlobal("CVSToolbar.LogID"), false); toolbar.enableButton(getGlobal("CVSToolbar.DiffID"), false); toolbar.enableButton(getGlobal("CVSToolbar.AddID"), false); toolbar.enableButton(getGlobal("CVSToolbar.ImportID"), false); toolbar.enableButton(getGlobal("CVSToolbar.CustomID"), false); toolbar.restoreState(); } function UpdateToolBar(toolbar, ssPath) { var LogonID = toolbar.setButton(0, ssPath + "logon.script", "Logon to the CVS source control system", "Logon"); var CheckoutID = toolbar.setButton(1, ssPath + "checkout.script", "Get a file/project from the CVS source control system", "Checkout"); var EditID = toolbar.setButton(2, ssPath + "edit.script", "Remove the read-only flag for editing the source", "Edit"); var UneditID = toolbar.setButton(3, ssPath + "unedit.script", "Unedit the current changes and track back to old version", "Unedit"); var UpdateID = toolbar.setButton(4, ssPath + "update.script", "Updates the current version to get the newest from server", "Update"); var StatusID = toolbar.setButton(5, ssPath + "status.script", "Get the status of the source control system", "Status"); var CommitID = toolbar.setButton(8, ssPath + "commit.script", "Creates a new version on the CVS server (new release)", "Commit"); var LogID = toolbar.setButton(6, ssPath + "log.script", "Displays the logging information", "Log"); var DiffID = toolbar.setButton(7, ssPath + "diff.script", "Displays the difference betwenn to versions", "Diff"); var AddID = toolbar.setButton(9, ssPath + "add.script", "Add a new file to the CVS repository", "Add"); var ImportID = toolbar.setButton(10, ssPath + "import.script", "Import a new project/module to the CVS repository", "Import"); var CustomID = toolbar.setButton(11, ssPath + "customCommand.script", "Executes a custom CVS command", "Custom command"); setGlobal("CVSToolbar.LogonID", LogonID); setGlobal("CVSToolbar.CheckoutID", CheckoutID); setGlobal("CVSToolbar.EditID", EditID); setGlobal("CVSToolbar.UneditID", UneditID); setGlobal("CVSToolbar.UpdateID",UpdateID); setGlobal("CVSToolbar.StatusID", StatusID); setGlobal("CVSToolbar.CommitID", CommitID); setGlobal("CVSToolbar.LogID", LogID); setGlobal("CVSToolbar.DiffID", DiffID); setGlobal("CVSToolbar.AddID", AddID); setGlobal("CVSToolbar.ImportID", ImportID); setGlobal("CVSToolbar.CustomID", CustomID); } !!/Script